Work positioning device

ABSTRACT

Regarding predetermined positioning criteria (M 1 , M 2 ), (((G 1 , G 2 ), (N 1 , or N 2 ), (K 1 , K 2 )), there is provided image processing means ( 40 B) for obtaining by image processing, measured values (C D1 , C D2 ) ((G D1 , G D2 ), (N D1 , or N D2 ), (K D1 , K D2 )) and reference values (C R1 , C R2 ) ((G R1 , G R2 ), (N R1 , or N R2 ), (K R1 , K R2 )), and for moving a work (W) in a manner that the measured values (C D1 , C D2 ) ((G D1 , G D2 ), (N D1 , or N D2 ), (K D1 , K D2 )) and the referernce values (C R1 , C R2 ) ((G R1 , G R2 ), (N R1 , or N R2 ), (K R1 , K R2 )) coincide with each other, thereby positioning the work (W) at a predetermined position.

TECHNICAL FIELD

[0001] The present invention relates to a work positioning device, and in particular to a work positioning device which positions a work at a predetermined position by image processing.

BACKGROUND ART

[0002] Conventionally, a bending machine such as a press brake (FIG. 25(A)) comprises a punch P mounted on an upper table 52 and a die D mounted on a lower table 53, and moves either one of the tables upward or downward to bend a work W by cooperation of the punch P and die D.

[0003] In this case, before the bending operation, the work W is positioned at a predetermined position by being butted on a butting face 50 which is set behind the lower table 53.

[0004] In a case where an automatic bending operation is carried out with the use of a robot, the work W is positioned by a gripper 51 of the robot supporting the work W to place the work W on the die D and butt the work W on the butting face 50.

[0005] In order to bend a work W having its C portion forming-processed as shown in FIG. 25(B), one end A of the work W is supported by the gripper 51 of the robot, and the other end B is butted on the butting face 50.

[0006] However, in this case, the portion of the work W between the other end B and the portion placed on the die D is mildly curved as shown in FIG. 25(A), Accordingly, the butting of the work W against the butting face 50 by the gripper 51 of the robot becomes very unstable, making it impossible to achieve accurate positioning. If a human worker determines the position of the work W by holding the work W, accurate positioning might be available due to the worker's sense developed over years. However, a robot can not achieve accurate positioning by trial and error.

[0007] Further, in a case where a corner of a work W is to be bent along a bending line m as shown in FIG. 26(A), positioning of the work W can not be carried out by butting the work W on the butting face 50. Furthermore, in a case where the bending line m and a work end surface T are not parallel with each other as shown in FIG. 26(B), the positioning accuracy might be lowered even if the work W is butted on the butting face 50. The intended bending operation can not be performed in either case.

[0008] An object of the present invention is to position a work accurately by carrying out electronic positioning by using image processing, even in a case where mechanical positioning by using a butting face is impossible.

DISCLOSURE OF INVENTION

[0009] According to the present invention, regarding predetermined positioning criteria M₁, M₂, ((G₁, G₂), (N₁, or N₂), (K₁, K₂)), there is provided, as shown in FIG. 1, image processing means (40B) for obtaining by image processing, measured values C_(D1), C_(D2) ((G_(D1), G_(D2)), (N_(D1), or N_(D2)), (K_(D1), K_(D2))) and reference values C_(R1), C_(R2) ((G_(R1), G_(R2)). (N_(R1), or N_(R2)), (K_(R1), K_(R2))), and for moving a work (W) in a marker that the measured values C_(D1), C_(D2) ((G_(D1), G_(D2)), (N_(D1), or N_(D2)), (K_(D1), K_(D2))) and the reference values C_(R1), C_(R2) ((G_(R1), G_(R2)), (N_(R1), or N_(R2)), (K_(R1), K_(R2))) coincide with each other, thereby positioning the work (W) at a predetermined position.

[0010] According to the above structure of the present invention, if it is assumed that the predetermined positioning criteria are, for example, holes M₁ and M₂ (FIG. 2(A)) formed in a work W, outlines G₁ and G₂ (FIG. 2(B)), of a work W, a corner N₁ or N₂ (FIG. 2(C)) of a work W, or distances K₁ and K₂ (FIG. 2(D)) between positions of edges of butting faces 15 and 16 and predetermined positions on a work end surface T, a work W supported by a robot 13 can be automatically moved and positioned at a predetermined position by driving the robot 13 via, for example, robot drive means 40C in a manner that measured values C_(D1) and C_(D2) ((G_(D1), G_(D2)), (N_(D1), or N_(D2)) (K_(D1), K_(D2))) which are obtained for the above kinds of positioning criteria by image processing via work photographing means 12 and reference values C_(R1) and C_(R2) ((G_(R1), G_(R2)), (N_(R1), or N_(R2)), (K_(R1), K_(R2))) which are obtained by image processing via information (CAD information or the like) coincide with each other,

[0011] Or in a case where the holes M₁ and M₂ (FIG. 2(A)) as the positioning criteria are quite simple square holes (for example, holes of regular squares), if the measured values and the reference values are displayed on a screen 40D (FIG. 1), a human worker can position the work W at a predetermined position by seeing the screen 40D and manually moving the work W in a manner that the measured values and the reference values coincide with each other.

[0012] As a first embodiment, the present invention specifically comprises, as shown in FIG. 3, work image detecting means 10D for detecting an image DW of a work W which is input from work photographing means 12 attached to a bending machine 11, work reference image calculating means 10E for calculating a reference image RW of the work W based on pre-input information, difference amount calculating means 10F for comparing the detected image DW and the reference image RW and calculating an amount of difference between them, and robot control means 10G for controlling a robot 13 such that the detected image DW and the reference image RW coincide with each other based on the amount of difference and thereby positioning the work W at a predetermined position.

[0013] Therefore, according to the first embodiment of the present invention, by providing, for example, positioning marks M₁ and M₂ constituted by holes at predetermined positions apart from a bending line m on the work W (FIG. 4) as the positioning criteria, the difference amount calculating means 10F (FIG. 3) can compare detected positioning marks M_(D1) and M_(D2) (FIG. 5(A)) in the detected image DW and reference positioning marks M_(R1) and M_(R2) in the reference image RW, and calculate amounts of difference Δθ=θ₀−θ₁ (FIG. 5(A)), Δx=x₁−x₁″ (=x₂-x₂′) (FIG. 5(B)), and Δy=y₁−y₁′ (y₂−y₂′) in two-dimensional coordinates, regarding positions of centers of gravity of both kinds of the marks.

[0014] Or, according to another example of the first embodiment of the present invention, with the use of, for example, outlines G₁ and G₂ (FIG. 9) of the work W as the positioning criteria, the difference amount calculating means 10F (FIG. 3) can compare detected work outlines G_(D1) and G_(D2) in the detected image DW (FIG. 11(A)) and reference work outlines G_(R1) and G_(R2) in the reference image RW, and calculate amounts of difference Δθ=tan⁻¹(D₂/L₂) (FIG. 11 (A)), Δx=U_(x)+T_(x) (FIG. 11(B)), and Δy=U_(y)−T_(y) in two-dimensional coordinates.

[0015] Further, according to yet another example of the first embodiment of the present invention, with the use of, for example, a corner N₁ or N₂ (FIGS. 12) as the positioning criterion, the difference amount calculating means 10F (FIG. 3) can compare only one detected corner N_(D2) in the detected image DW (FIG. 13(A)) and only one corresponding reference corner N_(R2) in the reference image RW, and calculate amounts of difference Δθ (FIG. 13 (A)), Δx (FIG. 13(B)), and Δy in two-dimensional coordinates.

[0016] Accordingly, the Work W can be positioned at a predetermined position by the robot control means 10G converting the amounts of difference into correction drive signals S_(a), S_(b), S_(c), S_(d), and S_(e) so that the robot control means 10G can position the bending line m of the work W right under a punch P via the robot 13.

[0017] Further, as a second embodiment, the present invention specifically comprise, as shown in FIG. 15, distance detecting means 30D for detecting distances K_(D1) and K_(D2) between positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16 and predetermined positions A_(D1) and A_(D2) on a work end surface T_(D) based on a work image DW input from work photographing means 12 attached to the bending machine 11, reference distance calculating means 30E for calculating by image processing, reference distances K_(R1) and K_(R2) between the preset positions B_(R1) and B_(R2) of the edges of the butting faces and predetermined positions A_(R1) and A_(R2) on a work end surface T_(R), distance difference calculating means 30F for comparing the detected distances and the reference distances and calculating distance differences between them, and robot control means 30F for controlling a robot in a manner that the detected distances and the reference distances coincide with each other based on the distance differences and thereby positioning the work at a predetermined position.

[0018] According to the second embodiment, with the use of distances K₁ and K₂ (FIG. 16) between positions of the edges of the butting faces 15 and 16 and predetermined positions on a work end surface T as the positioning criteria, the distance difference calculating means 30F (FIG. 15) can take differences between detected distances K_(D1) and K_(D2) and reference distances K_(R1) and K_(R2), and calculate distance differences Δy₁ and Δy₂ (FIG. 18) in two-dimensional coordinates. In this case, in order that the position of the work W on the bending machine 11 (FIG. 15) may be fixed uniquely, it is necessary to pre-position the work W in a longitudinal direction (X axis direction). For this purpose, the left end (FIG. 24(B)) of the work W supported by a gripper 14 of the robot 13 is arranged at a position apart from a machine center MC by X₁, by moving the robot 13 by a predetermined distance X_(G)=X_(S)−X₁ with the use of, for example, a side gauge 18 (FIG. 24(A)).

[0019] Under this state, the work W can be positioned at a predetermined position by the robot control means 30F (FIG. 15) converting the distance differences Δy, and Δy₂ into correction drive signals S_(a), S_(b), S_(e), S_(d), and S_(e) so that the robot control means 30F can position a bending line m of the work W right under a punch P via the robot 13.

[0020] Due to this, according to the present invention, in a bending machine, even in a case where mechanical positioning by using butting faces is impossible, a work can be accurately positioned by carrying out electronic positioning by using the above-described image processing.

BRIEF DESCRIPTION OF DRAWINGS

[0021]FIG. 1 is an entire view showing the structure of the present invention;

[0022]FIG. 2 are diagrams showing positioning criteria used in the present invention;

[0023]FIG. 3 is an entire view showing a first embodiment of the present invention;

[0024]FIG. 4 is a diagram showing positioning marks M₁ and M₂ according to the first embodiment of the present invention;

[0025]FIG. 5 are diagrams showing image processing according to the first embodiment of the present invention;

[0026]FIG. 6 is a front elevation of a bending machine 11 to which the first embodiment of the present invention is applied;

[0027]FIG. 7 is a side elevation of the bending machine 11 to which the first embodiment of the present invention is applied;

[0028]FIG. 8 is a flowchart for explaining an operation according to the first embodiment of the present invention;

[0029]FIG. 9 is a diagram showing another example (positioning by using work outlines G₁ and G₂) of the first embodiment of the present invention;

[0030]FIG. 10 is a diagram showing an example of a case where a reference image RW in FIG. 9 is photographed;

[0031]FIG. 11 are diagrams showing image processing in FIG. 9;

[0032]FIG. 12 are diagrams showing an example of a case where a detected image DW and a reference image RW are compared by using corners N₁ and N₂ in the first embodiment of the present invention;

[0033]FIG. 13 are diagrams showing image processing in FIG. 12;

[0034]FIG. 14 is a diagram showing another example of FIG. 12;

[0035]FIG. 15 is an entire view showing a second embodiment of the present invention;

[0036]FIG. 16 is a diagram showing positioning criteria K and K according to the second embodiment of the present invention;

[0037]FIG. 17 is a diagram showing a specific example of FIG. 16;

[0038]FIG. 18 is a diagram showing image processing according to the second embodiment of the present invention,

[0039]FIG. 19 are diagrams for explaining a post-work positioning operation according to the second embodiment of the present invention (measuring of a bending angle Θ);

[0040]FIG. 20 are diagrams showing image processing in FIG. 19;

[0041]FIG. 21 is a diagram showing work photographing means 12 used in the second embodiment of the present invention;

[0042]FIG. 22 are diagrams for explaining an operation according to the second embodiment of the present invention;

[0043]FIG. 23 is a flowchart for explaining an operation according to the second embodiment of the present invention;

[0044]FIG. 24 are diagrams showing positioning of the longitudinal direction of a work, which is carried out prior to positioning by image processing according to the second embodiment of the present invention;

[0045]FIG. 25 are diagrams for explaining prior art; and

[0046]FIG. 26 are diagrams for, explaining another prior art.

BEST MODE FOR CARRYING OUT THE INVENTION

[0047] The present invention will now be explained with reference to the attached drawing in order to specifically explain the present invention.

[0048]FIG. 3 is an entire view showing a first embodiment of the present invention. In FIG. 3, a reference numeral 9 denotes a superordinate NC device, 10 denotes a subordinate NC device, 11 denotes a bending machine, 12 denotes work photographing means, and 13 denotes a robot.

[0049] With this structure, for example, CAD information is input from the superordinate NC device 9 to the subordinate NC device 10 which is a control device of the bending machine 11 (step 101 in FIG. 8), and the order of bending is determined (step 102 in FIG. 8). After this, in a case where positioning of a work W by butting faces 15 and 16 (FIG. 6) turns out to be impossible (step 103 in FIG. 8: NO), positioning of the work W is performed by image processing in the subordinate NC device 10 (for example, steps 104 to 108 in FIG. 8). Thereafter, bending is carried out (step 110 in FIG. 8).

[0050] In this case, a press brake can be used as the bending machine 11. As well known, a press brake comprises a punch P mounted on an upper table 20 and a die D mounted on a lower table 21, and carries out by the punch P and the die D, a predetermined bending operation on the work W which is positioned while being supported by a later-described gripper 14 of the robot 13.

[0051] The robot 13 is mounted on a base plate 1 and comprises a leftward/rightward direction (X axis direction) drive unit a, a forward/backward direction (Y axis direction) drive unit b, and an upward/downward direction drive unit c. The robot 13 comprises the aforementioned gripper 14 at the tip of its arm 19. The gripper 14 can rotate about an axis parallel with the X axis, and can also rotate about an axis parallel with a Z axis. Drive units d and e for such rotations are built in the arm 19.

[0052] With this structure, the robot 13 actuates each of the aforementioned drive units a, b, c, d, and e when correction drive signals S_(a), S_(b), S_(c), S_(d), and S_(e) are sent from later-described robot control means 10G, so that control for making a detected image DW and a reference image RW coincide with each other will be performed (FIG. 5) and the work W will be positioned at a predetermined position.

[0053] The press brake (FIG. 6) is equipped with the work photographing means 12. The work photographing means 12 comprises, for example, a CCD camera 12A and a light source 12B therefor. The CCD camera 12A is attached near the upper table 20 for example, and the light source 12B is attached near the lower table 21 for example.

[0054] With this structure, the work W supported by the gripper 14 of the robot 13 is photographed by the CCD camera 12A, and the image of the work W is converted into a one-dimensional electric signal, and further converted by later-described work image detecting means 10D of the subordinate NC device 10 (FIG. 3) into a two-dimensional electric signal, thereby the detected image DW and the reference image RW are compared with each other (FIG. 5(A)) by difference amount calculating means 10F.

[0055] In this case, in order to photograph, for example, two positioning marks M₁ and M₂ (FIG. 4) provided on the work W as positioning criteria, the CCD camera 12A and its light source 12B are provided in pairs in a lateral direction. That is, holes M₁ and M₂ are bored through the work W (FIG. 4) at such predetermined positions apart from a bending line m as to cause no trouble in the bending operation on the work W, by using a punch press, a laser processing machine, or the like in a die cutting process before the bending operation by the press brake.

[0056] Or in a case where a great amount of bole information is included in CAD information, a human worker may arbitrarily designate and determine the positioning marks M₁ and M₂ on a development displayed on an operator control panel (10J) of the subordinate NC device 10.

[0057] As described above, the holes M₁ and M₂ (FIG. 4) are used as the positioning marks M₁ and M₂ which are examples of positioning criteria, to provide targets of comparison in a case where, as will be described later, the detected image DW of the work W and the reference image RW are compared (FIG. 5(A)) by the difference amount calculating means 10F (FIG. 3).

[0058] Consequently, the difference amount calculating means 10F calculates difference amounts of detected positioning marks M_(D1) and M_(D2) Δθ=θ₀−θ₁ (FIG. 5(A)), Δx=x₁−x₁′ (=x₂−x₂′) (FIG. 5 (B)), and Δy=y₁−y₁′(=y₂−y₂′), with respect to reference positioning marks M_(R1) and M_(R2).

[0059] In this case, the positioning marks M₁ and M₂ (FIG. 4) provided on the work W are not necessarily symmetric, but are bored at such predetermined positions apart from the bending line m as to cause no trouble in the bending operation on the work W as described above. Accordingly, the CCD camera 12A and its light source 12B provided in pairs laterally can move pair by pair independently.

[0060] For example, one pair of CCD camera 12A and light source 12B move in the lateral direction (X axis direction) along X axis guides 7 and 8 by a mechanism constituted by a motor M_(AX), a pinion 2, and a rack 3 and by a mechanism constituted by a motor M_(ax), a pinion 4, and a rack 5 (FIG. 6), and move in the back and forth direction (Y axis direction) along a Y axis guide 17 by a mechanism constituted by a motor MAY and a ball screw 6 (FIG. 7), independently.

[0061] In a case where the positioning marks M₁ and M₂ on the work W are not circular holes as shown in FIG. 4 but square holes, the detected image DW and the reference image RW can be compared even if there is only one positioning mark provided, as will be described later (FIG. 14). In this case, either one of the left and right pairs of CCD camera 12A and light source 12B are used.

[0062] The butting faces 15 and 16 to be used in a case where the positioning of the work W is carried out in a conventional manner (step 103: YES, and step 109 in FIG. 8), are provided at the back of the lower table 21 constituting the press brake (FIG. 7).

[0063] The aforementioned superordinate NC device 9 (FIG. 3) and the subordinate NC device 10 are provided as the control devices for the press brake having the above-described structure. The superordinate NC device 9 is installed at an office or the like, and the subordinate NC device 10 is attached to a press brake (FIG. 6) in a plant or the like.

[0064] Of these devices, the superordinate NC 9 has CAD information stored therein. The stored CAD information contains work information such as plate thickness, material, length of bending line m (FIG. 4), and positions of positioning marks M₁ and M₂, etc. regarding a work W, and product information such as bending angle, etc. regarding a product. These information items are constructed as a three-dimensional diagram or a development.

[0065] The CAD information including these information items is input to the subordinate NC device 10 (step 101 in FIG. 8), to be used for, for example, positioning of the work W by image processing of the present invention.

[0066] The subordinate NC device 10 (FIG. 3) comprises a CPU 10A, information calculating means 10B, photographing control means 10C, work image detecting means 10D, work reference image calculating means 10E, difference amount calculating means 10F, robot control means 10G, bending control means 10H, and input/output means 10J.

[0067] The CPU 10A controls the information calculating means 10B, the work image detecting means 10D, etc. in accordance with an image processing program (corresponding to FIG. 8) of the present invention.

[0068] The information calculating means 10B determines information such as the order of bending, etc. necessary for positioning and bending of the work W, by calculation based on the CAD information input from the superordinate NC device 9 via the input/output means 10J to be described later (step 102 in FIG. 8).

[0069] The information determined by calculation of the information calculating means 10B includes, in addition to the order of bending, molds (punch P and die D) to be used, mold layout indicating which mold is arranged at which position on the upper table 20 and lower table 21, and a program of the movements of the robot 13 which positions and feeds the work W toward the press brake.

[0070] Due to this, it is determined, for example, whether positioning of the work W by the butting faces 15 and 16 is possible or not (step 103 in FIG. 8). In a case where it is determined as impossible (NO), positioning of the work W by using image processing of the present invention is to be performed (steps 104 to 108 in FIG. 8).

[0071] The photographing control means 10C performs control for moving the work photographing means 12 constituted by the aforementioned CCD camera 12A and light source 12B based on the order of bending, mold layout, positions of the positioning marks M₁ and M₂, etc. determined by the information calculating means 10B, and controls the photographing operation of the CCD camera 12A such as control of the view range (FIG. 5(A)).

[0072] The work image detecting means 10D (FIG. 3) converts an image of the work W including the positioning marks M₁ and M₂ which image is constituted by a one-dimensional electric signal sent from the work photographing means 12 into a two-dimensional electric signal, as described above.

[0073] Due to this, a detected image DW (FIG. 5(A)) of the work W is obtained. The positioning marks M₁ and M₂ (FIG. 4) on the work W are used as the targets of comparison with later-described reference positioning marks M_(R1) and M_(R2), as detected positioning marks M_(D1) and M_(D2) (FIG. 5(A)).

[0074] The positions of the centers C_(D1) and C_(D2) of gravity of the detected positioning marks M_(D1) and M_(D2) in two-dimensional coordinates will be represented herein as indicated below.

Positions of centers of gravity C_(D1)(x₁′,y₁′),C_(D2)(x₂′,y₂′)  {circle over (1)}

[0075] The deflection angle θ₁ of the detected positioning marks M_(D1) and M_(D2) can be represented as below based on {circle over (1)}.

Deflection angle θ₁=tan⁻¹{(y₂′−y₁′)/(x₂′−x₁′)}  {circle over (2)}

[0076] {circle over (1)} and {circle over (2)} will be used when the difference amount calculating means 10F calculates a difference amount, as will be described later.

[0077] The work reference image calculating means 10E calculates a reference image RW including reference positioning marks M_(R1) and M_(R2) (FIG. 5(A)), based on the order of bending, mold layout, positions of the positioning marks M₁ and M₂ determined by the information calculating means 10B.

[0078] In this case, the positions of the centers C_(R1) and C_(R2) of gravity of the reference positioning marks M_(R1) and M_(R2) in two-dimensional coordinates will be likewise represented as below.

Positions of centers of gravity C_(R1)(x₁,y₁),C_(R2)(x₂,y₂)  {circle over (3)}

[0079] The deflection angle θ₀ of the reference positioning marks M_(R1) and M_(R2) can be represented as below based on {circle over (3)}.

Deflection angle θ₀=tan⁻¹{(y₂−y₁)/(x₂−x₁)}  {circle over (4)}

[0080] {circle over (3)} And {circle over (4)} will be likewise used when the difference amount calculating means 10F calculates a difference amount.

[0081] The difference amount calculating means 10F receives the detected image DW and reference image RW including the detected positioning marks M_(D1) and M_(D2), and reference positioning marks M_(R1) and M_(R2) having positions of centers of gravity and deflection angles which can be represented by the above-described expressions {circle over (1)} to {circle over (4)}, and calculates a difference amount from the difference between them.

[0082] For example, an amount of difference Δθ in angle, of the detected positioning marks M_(D1) and M_(D2) with respect to the reference positioning marks M_(R1) and M_(R2) is represented as below based on {circle over (2)} and {circle over (4)}.

Difference amount Δθ=θ₀−θ₁  {circle over (5)}

[0083] Therefore, by rotating the detected image DW by the difference amount Δθ represented by {circle over (5)}, the detected image DW and the reference image RW become parallel with each other, as shown in FIG. 5(B).

[0084] Accordingly, a difference amount Δx in the X axis direction and a difference amount Δy in the Y axis direction are represented as below.

Difference amount Δx in the X axis direction=x₁−x₁′ (=X₂−x₂′)  {circle over (6)}

Difference amount Δy in the Y axis direction=y₁−y₁′ (=y₂−y₂′)  {circle over (7)}

[0085] The robot control means 10G (FIG. 3) controls the robot 13 such that the detected image DW and the reference image RW coincide with each other based on the difference amounts represented by the equations {circle over (5)} to {circle over (7)}, thereby positioning the work W at a predetermined position.

[0086] That is, when the robot control means 10G receives difference amounts Δθ, Δx, and Δy from the difference amount calculating means 10F, the robot control means 10G converts these into correction drive signals S_(a), S_(b), S_(c), S_(d), and S_(e), and sends each signal to the robot 13.

[0087] Thus, the robot 13 rotates the work W supported by the gripper 14 by the difference amount Δθ=θ₀−θ₁ (FIG. 5 (A)), and after this, moves the work W by the difference amount Δx x₁−x₁′ (=x₂−x₂′) and the difference amount Δy=y₁−y₁′ (=y₂−y₂′) in the X axis direction and in the Y axis direction (FIG. 5(B)), by actuating respective drive units a, b, c, d, and e constituting the robot 13.

[0088] That is, a control for making the detected image DW and the reference image RW coincide with each other is performed, thereby the work W can be fixed at a predetermined position.

[0089] The bending control means 10H (FIG. 3) controls the press brake based on the order of bending, etc. determined by the information calculating means 10B, and applies bending operations by the punch P and die D on the position-fixed work W.

[0090] The input/output means 10J is provided near the upper table 20 constituting the press brake (FIG. 6) for example, and comprises a keyboard and a screen made of liquid crystal, etc. The input/output means 10J functions as interface with respect to the aforementioned superordinate NC device 9 (FIG. 3), and thereby the subordinate NC device 10 is connected to the superordinate NC device 9 by cable or by radio and the CAD information can be received therefrom.

[0091] Further, the input/output means 10J displays the information determined by the information calculating means 10B such as the order of bending and the mold layout, etc. on the screen thereof, to allow a human worker to see the display. Therefore, the determination whether positioning of the work W by the butting faces 15 and 16 is possible or not (step 103 in FIG. 8) can be done by the human worker, not automatically.

[0092]FIG. 9 to FIG. 11 are for the case where outlines G₁ and G₂ (FIG. 9) of the work W are used instead of the aforementioned positioning marks M₁ and M₂ (FIG. 4) as the positioning criteria. As will be described later, the difference amount calculating means 10F (FIG. 3) uses the work outlines G₁ and G₂ as the targets of comparison when a detected image DW of the work W and a reference image RW are compared with each other (FIG. 11).

[0093] Thus, the difference amount calculating means 10F calculates difference amounts Δθ, Δx and Δy of detected work outlines G_(D1) and G_(D2) with respect to reference work outlines G_(R1) and G_(R2), by Δθ=tan⁻¹(D₂/L₂) (FIG. 11(A)), Δx=U_(x)+T_(x) (FIG. 11 (B)), and Δy=U_(y)−T_(y).

[0094] In this case, the reference work outlines G_(R1) and G_(R2) are prepared by photographing the work W which is fixed at a predetermined position by a human worker by the CCD camera 12A and storing the image in a memory.

[0095] For example, in a case where a corner of the work W (FIG. 10) is to be bent, side stoppers 25 and 26 are attached to a holder 22 of the die D via attaching members 23 and 24, and checkers A, B, and C are prepared on the side stoppers 25 and 26.

[0096] In this state, the human worker makes the work outlines G₁ and G₂ abut on the side stoppers 25 and 26, so that the work outlines G₁ and G₂ together with the checkers A, B, and C are photographed by the CCD camera 12A. Then, the image of the work outlines G₁ and G₂, and the checkers A, B, and C is converted into a one-dimensional electric signal, and further converted by the work image detecting means 10D of the subordinate NC device 10 (FIG. 3) into a two-dimensional electric signal, thereby the photographed image is stored in the memory of the work reference image calculating means 10E.

[0097] Then, the difference amount calculating means 10F uses the image of the work outlines G₁ and G₂ stored in the memory as the reference work outlines G_(R1) and G_(R2) (FIG. 11), and the image of the checkers A, B, and C stored in the memory as areas for detecting image data, thereby the detected image DW and the reference image RW are compared with each other.

[0098] That is, in FIG. 11, the reference image RW indicated by a broken line includes the reference work outlines G_(R1) and G_(R2) stored in the memory of the work reference image calculating means 10E, and the detected image DW indicated by a solid line includes the detected work outlines G_(D1) and G_(D2) which is obtained by photographing the work W supported by the gripper 14 of the robot 13 by the CCD camera 12A.

[0099] In this case, let it be assumed that in two-dimensional coordinates of FIG. 11(A), x-axis-direction-coordinates of the checkers A and B are x_(a) and x_(b), the intersection of one reference work outline G_(R1) and the checker A is a first reference point R₁(x_(a), y_(a)), the intersection of the one reference work outline G_(R1) and the checker B is a second reference point R₂(x_(b), y_(b)), the intersection of one detected work outline G_(D1) and the checker A is E(x_(a), y_(a)′), and the intersection of the one detected work outline G_(D1) and the checker B is F(x_(b), y_(b)′)

[0100] In FIG. 1(A), a variation D_(a) in the Y axis direction, of the detected work outline G_(D1) with respect to the first reference point R₁(x_(a), y_(a)), and a variation D_(b) in the Y axis direction, of the detected work outline G_(D1) with respect to the second reference point R₂(x_(b), y_(b)) are respectively represented as below.

D_(a)=R₁(x_(a),y_(a))−E(x_(a),y_(a)′)=y_(a)−y_(a)′  (1)

D_(b)=F(x_(b),y_(b)′)−R₂(x_(b),y_(b))=y_(b)′−y_(b)  (2)

[0101] Accordingly, if it is assumed that the intersection of a line H which is drawn parallel with the detected work outline G_(D1) and the checker A is S, a distance D₁ between the intersection S and the first reference point R₁(x_(a), y_(a)) can be represented as below by using D_(a) and D_(b) in the above (1) and (2).

D₁=D_(a)−D_(b)  (3)

[0102] Here, if it is assumed that a deflection angle of the reference work outline G_(R1) with respect to the Y axis direction is θ (FIG. 11(A)), a distance D between an intersection K of the reference work outline G and its perpendicular line V, and the intersection S can be represented as below by using the deflection angle θ and D in the above (3), as obvious from FIG. 11(A).

D₂=D₁×sinθ  (4)

[0103] Further, if it is assumed that a distance between the checkers A and B in the X axis direction is L₁=x_(b)−x_(a), a distance P between the first reference point R₁(x_(a), y_(a)) and the second reference point R₂(x_(b), y_(b)) can be represented as below by using L₁ and the deflection angle θ, and a distance Q between the first reference point R₁(x_(a), y_(a)) and the intersection K can be represented as below by using D₁ in the above (3) and likewise the deflection angle θ.

P=L₁/sinθ  (5)

Q=D₁×cosθ  (6)

[0104] Accordingly, a distance L₂ between the second reference point R₂(x_(b), y_(b)) and the intersection K can be represented as below, because as obvious from FIG. 11(A), L₂ is the sum of P and Q which can be represented by the above (5) and (6).

L₂=P+Q=L₁/sinθ+D₁×cosθ  (7)

[0105] Accordingly, an amount of difference Δθin angle, of the detected work outline G_(D1) with respect to the reference work outline G_(R1) is represented as below.

Δθ=tan⁻¹(D₂/L₂)  (8)

[0106] In the above (8), D₂ and L₂ can be represented by (4) and (7) respectively. Therefore, the difference amount Δθ can be represented by D₁, L₁, and θ by inputting (4) and (7) in (8).

Δθ=tan⁻¹(D₂/L₂)=tan⁻¹{D₁×sinθ/(L₁/sinθ+D₁×cosθ)}  (9)

[0107] If it is assumed that the deflection angle θ of the reference work outline G_(R1) with respect to the Y axis direction is 45°, the above (9) becomes tan⁻¹{D₁/(2×L₁+D₁)}, and thus can be represented more simply.

[0108] If the detected image DW is rotated about the intersection F (x_(b), y_(b)′) between the detected image DW and the checker B by the difference amount Δθ represented by (9), the detected image DW and the reference image RW becomes parallel with each other as shown in FIG. 11(B).

[0109] In this case, in the two-dimensional coordinates of FIG. 11(B), the second reference point R₂(x_(b), y_(b)) which is the intersection between one reference work outline G_(R1) and the checker B, and the intersection F(x_(b), y_(b)′) between one detected work outline G_(D1) and the checker B are the same as those in the case of FIG. 11(A).

[0110] Accordingly, a distance T between the detected work outline G_(D1) and the reference work outline G_(R1) which are parallel with each other can be represented as below by using the variation D_(b) and the deflection angle θ.

T=D_(b)×sinθ  (10)

[0111] The X-axis-direction component T_(x) and Y-axis-direction component T_(y) of T are obtained as below.

T_(x)=T×cosθ=D_(b)×sinθ×cosθ  (11)

T_(y)=T×sinθ=D_(b)×sin²θ  (12)

[0112] In the two-dimensional coordinates of FIG. 11(B), it is assumed that the x-axis-direction coordinate of the checker C is x_(c), the intersection between the other reference work outline G_(R2) and the checker C is a third reference point R₃(x_(c), y_(c)), and the intersection between the other detected work outline G_(D2) and the checker C is J(x_(c), y_(c)′).

[0113] In this case, in FIG. 11 (B), a variation D_(c) in the Y axis direction, of the other detected work outline G_(D2) with respect to the third reference point R₃(x_(c), y_(c)) is represented as below.

D_(c)=R₃(x_(c),y_(c))−J(X_(c),y_(c)′)=Y_(c)−Y_(c)′  (13)

[0114] Accordingly, a distance U between the detected work outline G_(D2) and the reference work outline G_(R2) which are parallel with each other can be represented as below by using the variation D_(c) which can be represented by the above (13) and the deflection angle θ.

U=D_(c)×cosθ  (14)

[0115] The X-axis-direction component U_(x) and Y-axis-direction component U_(y) of U are obtained as below.

U_(x)=U×sinθ=D_(c)×sinθ×cosθ  (15)

U_(y)=U×cosθ=D_(c)×con²θ  (16)

[0116] Accordingly, a difference amount in the X axis direction and a difference amount Δy in the Y axis direction can be represented as below by using U_(x) and U_(y) which can be represented by (15) and (16) and T_(x) and T_(y) which can be represented by the above (11) and (12). $\begin{matrix} {\begin{matrix} {{{Difference}\quad {amount}\quad \Delta \quad x}\quad} \\ {{in}\quad {the}\quad X\quad {axis}\quad {direction}} \end{matrix} = {{U_{x} + T_{x}}\quad = {\left( {D_{c} + D_{b}} \right) \times \sin \quad \theta \times \cos \quad \theta}}} & (17) \\ {\begin{matrix} {{{Difference}\quad {amount}\quad \Delta \quad y}\quad} \\ {{in}\quad {the}\quad Y\quad {axis}\quad {direction}} \end{matrix} = {{U_{y} - T_{y}}\quad = {{D_{b} \times \sin^{2}\quad \theta} - {D_{c} \times {con}^{2}\quad \theta}}}} & (18) \end{matrix}$

[0117] Therefore, in a case where the work outlines G and G in FIG. 9 to FIG. 11 are used as the positioning criteria, the robot control means 10G (FIG. 3) controls the robot 13 such that the detected image DW and the reference image RW coincide with each other based on the difference amounts which can be represented by (9), (17) and (18), thereby fixing the work W at a predetermined position.

[0118]FIG. 12 to FIG. 14 are for the case where either a corner N₁ or a corner N₂ (FIG. 12) of a work W is used as a positioning criterion instead of the above-described positioning marks M₁ and M₂ (FIG. 4) and outlines G₁ and G₂ of a work W (FIG. 9). The difference amount calculating means 10F (FIG. 3) uses either the corner N₁ or the corner N₂ as the target of comparison when a detected image DW of the work W and a reference image RW are compared with each other (FIG. 13).

[0119] With this structure, if one work photographing means 12 (FIG. 3), i.e. one CCD camera 12A photographs only either the corner N₁ or N₂, the difference amount calculating means 10F (FIG. 3) can calculate difference amounts Δθ(FIG. 13(A)), Δx (FIG. 13(B)), and Δy of an entire detected corner N_(D2) with respect to an entire reference corner N_(R2).

[0120] Accordingly, the robot control means 30G (FIG. 3) can position the work W at a predetermined position by controlling the robot 13 such that the detected image DW and the reference image RW coincide with each other at one time, based on the difference amounts Δθ, Δx, and Δy.

[0121] That is, in case of the positioning marks M₁ and M₂ (FIG. 4), or the outlines G₁ and G₂ (FIG. 9) of the work W, positioning of the work W can not be carried out unless the positions of the two positioning marks M₁ and M₂ or the positions of the two work outlines G₁ and G₂ are determined with the use of two CCD cameras 12A, in order to compare the detected image DW and the reference image RW (FIG. 5, FIG. 11).

[0122] However, for such a positioning operation of a work W by image processing as the present invention, the case that the corner N₁ or N₂ is used as the target of comparison when the detected image DW and the reference image RW are compared is very frequent, accounting for nearly 80% of all.

[0123] Therefore, as will be described later, if the position of either the corner N₁ or N₂ is determined by using only one CCD camera 12A, comparison of the detected image DW and the reference image RW becomes available, and positioning of the work W by image processing can be carried out with only one time of difference amount correction. Accordingly, the efficiency of the entire operation including the positioning of the work W will be greatly improved.

[0124] The outline of the work W shown in FIG. 12(A) can be first raised as an example where, as described above, an entire view of either the corner N₁ or N₂ is photographed to be used as the target of comparison between the detected image DW and the reference image RW.

[0125] In this case, the angle of the corner N₁ or N₂ may be anything, such as an acute angle, an obtuse angle, and a right angle, or may be R (FIG. 12(E)).

[0126] However, difference amounts, in particular, the difference amount Δθ in the angular direction (FIG. 13) can not be corrected unless the corner N₁ or N₂ is not partly, but entirely photographed by the CCD camera 12A.

[0127] An example of a case where the detected image DW and the reference image RW are compared with the use of such corners N₁ and N₂, will now be explained based on FIG. 13.

[0128] In FIG. 13(A), if an image of the entire corner N₂ which is photographed by, for example, the CCD camera 12A on the right side is input to the work image detecting means 10D (FIG. 3), a detected corner N_(D2) as a part of the detected image DW can be obtained.

[0129] Accordingly, if this detected corner N_(D2) is input to the difference amount calculating means 10F together with a reference corner N_(R2) which is pre-calculated by the work reference image calculating means 10E (FIG. 3), an amount of difference Δθ in the angular direction between the entire detected corner N_(D2) and the entire reference corner N_(R2) is calculated.

[0130] Then, the detected corner N_(D2) is rotated by the calculated amount of difference Δθ in the angular direction, such that the detected image DW (FIG. 13(B)) including the detected corner N_(D2) and the reference image RW including the reference corner N_(R2) become parallel with each other.

[0131] Due to this, the difference amount calculating means 10F (FIG. 3) can calculate amounts of difference Δx and Δy in the Y axis direction between the entire detected corner N_(D2) (FIG. 13(B)) and the entire reference corner N_(R2).

[0132] Accordingly, by rotating, via the robot control means 30G (FIG. 3), the work W supported by the gripper 14 (FIG. 13) of the robot 13 by the amount of difference Δθ, and moving the work W by the amounts of difference Δx and Δy in the W axis direction and in the Y axis direction, a control for making the detected image DW and the reference image RW coincide with each other is performed, thereby the work W can be positioned at a predetermined position.

[0133] Square holes M₁ and M₂ shown in FIG. 14 are an example of using either the corner N₁ or N₂ as the target of comparison between the detected image DW and the reference image RW.

[0134] For example, in a case where the square holes M₁ and M₂ are formed as positioning marks at predetermined positions y₁ and y₂ apart from a bending line m (FIG. 14), the entire view of either the corner N₁ or N₂ is photographed by the CCD camera 12A.

[0135] Then, for example, the image of the entire corner N₂ which is photographed by the CCD camera 12A on the right side of FIG. 14 is used as a detected corner N_(D2) (corresponding to FIG. 13), so as to be compared with a pre-calculated reference corner N_(R2).

[0136] Due to this, a difference amount Δθ in the angular direction, a difference amount Δx in the X axis direction, and a difference amount Δy in the Y axis direction are likewise calculated by the difference amount calculating means 10F (FIG. 3). Based on these difference amounts, the robot control means 30G performs a control for making the detected image DW and the reference image RW coincide with each other, thereby the work W can be positioned at a predetermined position.

[0137] An operation according to a first embodiment of the present invention having the above-described structure will now be explained based on FIG. 8.

[0138] (1) Determination Whether Positioning of a Work W by the Butting Faces 15 and 16 is Possible or Not.

[0139] CAD information is input in step 101 of FIG. 8, the order of bending, etc. is determined in step 102, and whether positioning of the work W by the butting faces 15 and 16 is possible or not is determined in step 103.

[0140] That is, when CAD information is input from the superordinate NC device 9 (FIG. 3) to the subordinate NC device 10, the information calculating means 100B constituting the superordinate NC device 9 determines the order of bending, etc. Based on the determined information, it is determined whether positioning of the work W by the butting faces 15 and 16 is possible, automatically (for example, determination by the information calculating means 10B in accordance with an instruction of the CPU 10A) or manually (determination by a human worker by seeing the screen of the input/output means 10J, as described before).

[0141] In a case where positioning by the butting faces 15 and 16 is possible (step 103 of FIG. 8: YES), the flow goes to step 109, so that positioning is carried out conventionally by butting the work W on the butting faces 15 and 16.

[0142] However, in a case where positioning by the butting faces 15 and 16 is impossible (step 103 of FIG. 8: NO), the flow goes to step 104 sequentially, so that positioning by using image processing according to the present invention is carried out.

[0143] (2) Positioning Operation by Using Image Processing.

[0144] A reference image RW of the work W is calculated in step 104 of FIG. S. An image of the work W is detected in step 105. The detected image DW and the reference image RW are compared in step 106. Whether or not there is any difference between them is determined in step 107.

[0145] That is, in such a case as this where positioning by the butting faces 15 and 16 is impossible, the work reference image calculating means 10E pre-calculates the reference image RW (FIG. 5A) based on the determination by the information calculating means 10B, and stores it in a memory (not illustrated) or the like.

[0146] In this state, the CPU 10A of the subordinate NC device 10 (FIG. 3) moves the CCD camera 12A and its light source 12B both constituting the work photographing means 12 via the photographing control means 10C, in order to photograph the work W supported by the gripper 14 of the robot 13.

[0147] The photographed image of the work W is sent to the work image detecting means 10D, thereby the detected image DW is obtained and subsequently compared (FIG. 5A) with the reference image RW stored in the memory by the difference amount calculating means 10F.

[0148] Then, the difference amount calculating means 10F calculates amounts of difference ({circle over (5)} to {circle over (7)} aforementioned) between the detected image DW and the reference image RW. When these amounts of difference are zero, i.e. when there is no difference between them (step 107 in FIG. 6: NO), the positioning is completed, and the bending operation is carried out in step 110.

[0149] However, in a case where there is difference between the detected image DW and the reference image RW (step 107 in FIG. 8: YES), positioning of the work W by the robot 13 is performed in step 108.

[0150] That is, in a case where there is difference between the detected image DW and the reference image RW (FIG. 5(A)), the difference amount calculating means 10F sends the calculated difference amounts ({circle over (5)} to {circle over (7)}) to the robot control means 10G.

[0151] Then, the robot control means 10G converts the difference amounts ({circle over (5)} to {circle over (7)}) into correction drive signals S_(a), S_(b), S_(c), S_(d), and S_(e) and sends these signals to the robot 13, so that the drive units a, b, c, d, and e of the robot 13 will be controlled such that the detected image DW and the reference image RW coincide with each other (FIG. 5(B)) and the work W is positioned at a predetermined position.

[0152] In a case where positioning of the work W by the robot 13 is carried out in this manner, the flow returns to step 105 of FIG. 8 after this positioning, in order to again photograph the image of the positioned work W by the CCD camera 12A for confirmation. After photographing, the photographed image is detected by the work image detecting means 10D, and compared with the reference image RW in step 106. Then, in a case where it is determnined in step 107 that there is no difference between them (NO), positioning is finally completed and the flow goes to step 110.

[0153] (3) Bending Operation.

[0154] In a case where the difference amount calculating means 10F which receives the detected image DW (FIG. 3) and the reference image RW determines that there is no difference between them, this message is transmitted from the difference amount calculating means 10F to the CPU 10A. The CPU 10A actuates a ram cylinder (not illustrated), etc. via the bending control means 10H, so that the bending operation is carried out on the work W supported by the gripper 14 of the robot 13 by the punch P and die D.

[0155] In a case where positioning is carried out by butting the work W on the butting faces 15 and 16 as conventionally (step 109 in FIG. 8), a positioning completion signal is sent from a sensor (not illustrated) attached to the butting faces 15 and 16 to the CPU 10A. Based on this signal, the ram cylinder is actuated via the bending control means 10H likewise the above, and the work W supported by the gripper 14 of the robot 13 is subjected to the bending operation by the punch P and die E.

[0156] (4) Positioning Operation in Case of Using the Work Outlines G₁ and G₂,

[0157] That is, also in case of the positioning operation by using the work outlines G₁ and G₂ shown in FIG. 9 to FIG. 11 as the positioning criteria, the procedures shown in FIG. 8 are followed in exactly the same manner as the case of using the positioning marks M₁ and M₂ (FIG. 4).

[0158] However, the difference between the cases is that as for the positioning marks M₁ and M₂ (FIG. 4), image data constituting the reference positioning marks M_(R1) and M_(R2) (FIG. 5) is included in the CAD information stored in the superordinate NC device 9 (FIG. 3) as described above, while as for the work outlines G₁ and G₂ (FIG. 9), image data constituting the reference work outlines G_(R1), and G_(R2) (FIG. 11) is not included in the CAD information, but obtained by a human worker positioning the work W at a predetermined position (for example, FIG. 10) to photograph the work outlines G₁ and G₂ by the CCD camera 12A.

[0159] However, the reference work outlines G_(R1) and G_(R2) may be included in the CAD information likewise the reference positioning marks M_(R1) and M_(R2).

[0160] (5) Positioning Operation in Case of Using the Corners N₁ and N₂ of a Work W.

[0161] That is, also in case of the positioning operation by using the corners N₁ and N₂ shown in FIG. 12 to FIG. 14 as the positioning criteria, the procedures shown in FIG. 8 are followed in exactly the same manner as the case of using the positioning marks M₁ and M₂ (FIG. 4) or the work outlines G₁ and G₂ (FIG. 9).

[0162] However, as described above, unlike the positioning marks M₁ and M₂ (FIG. 4), etc., comparison between the detected image DW and the reference image RW by image processing (FIG. 13) is available, only by photographing the image of either the corner N₁ (FIG. 12) or N₂ by one CCD camera 12A. Then, the work W can be positioned at a predetermined position by correcting the difference amounts Δθ, Δx, and Δy at one time. Accordingly, the efficiency of the entire operation is improved.

[0163]FIG. 15 is an entire view showing a second embodiment of the present invention.

[0164] In FIG. 15, a reference numeral 29 denotes a superordinate NC device, 30 denotes a subordinate NC device, 11 denotes a bending machine, 12 denotes a work photographing means, and 13 denotes a robot.

[0165] With this structure, for example, CAD information is input from the superordinate NC device 29 to the subordinate NC device 30 which is a control device of the bending machine 11 (step 201 in FIG. 23), and setting of the positions B_(R1) and B_(R2) of the edges of butting faces 15 (FIG. 18) and 16 and predetermined positions A_(R1) and A_(R2) on the end surface T_(R) of a work image RW is carried out (steps 202 to 204 in FIG. 23). After this, positioning of a work W by predetermined image processing is carried out by the subordinate NC device 30 (steps 205 to 208 in FIG. 23). After the punch P (FIG. 19 (B)) contacts the work W (after pinching point), a bending angle Θ is indirectly measured by detecting a distance k₁ between the work W and the butting face 15, and then the bending operation is carried out (steps 209 to 213 in FIG. 23).

[0166] Due to this, positioning of the work W and measuring of the bending angle e) can be carried out by one device, making it possible to simplify the system.

[0167] In this case, the bending machine 11 (FIG. 15) and the robot 13 are the same as the first embodiment (FIG. 3). However, the positions at which the CCD camera 12 A and its light source 12B constituting the work photographing means 12 are attached, and their moving mechanism are different from the first embodiment.

[0168] That is, as described above, the butting faces 15 and 16 are provided behind the lower table 21 which constitutes the press brake.

[0169] As shown in FIG. 21, for example, the butting face 15 is attached to a stretch 27 via a butting face body 28. According to the second embodiment, the CCD camera 12A is attached to this butting face body 28.

[0170] Further, an attaching plate 28A is provided to the butting face body 28, and the light source 12B for supplying a permeation light to the work W is attached to the attaching plate 28A.

[0171] Due to this, as the butting face 15 moves in the X axis direction, Y axis direction, or Z axis direction, the CCD camera 12A and the light source 12B move in the same direction. Therefore, there is no need of providing a special moving mechanism for the CCD camera 12A and its light source 12B unlike the first embodiment (FIG. 3), thereby enabling cost cut.

[0172] Further, with this structure, the work W supported by the gripper 14 of the robot 13 (FIG. 15) is photographed by the CCD camera 12A, and the image of the work W is converted into a one-dimensional electric signal, and then converted into a two-dimensional electric signal by later-described distance detecting means 30D of the subordinate NC device 30 (FIG. 15). Thereby, the distances K_(D1) and K_(D2) between the positions B_(R1) and B_(R2) (FIG. 18) of the edges of the butting faces 15 and 16 and predetermined positions A_(D1) and A_(D2) on an end surface T_(D) of the work image DW are detected, and differences in distance Δy₁ and Δy₂ between the detected distances K_(D1) and K_(D2) and reference distances K_(R1) and K_(R2) are calculated (FIG. 18) by a distance difference calculating means 30F (FIG. 15).

[0173] In the second embodiment, distances K₁ and K₂ between the positions of the edges of the butting faces 15 and 16 and predetermined positions on the work end surface T are used as the positioning criteria as shown in FIG. 16. These positioning criteria are especially effective in positioning the work W in case of diagonal bending where the work end surface T and a bending line m are not parallel with each other.

[0174] In some cases, the work end surface T has a very complicated form as shown in FIG. 17. In order to accurately detect the distances K₁ and K₂ from the butting faces 15 and 16, it is necessary to set in advance the positions B₁ and B₂ of the edges of the butting faces 15 and 16, and predetermined positions A₁ and A₂ on the work end surface T as the detection points.

[0175] Specifically, for example, with the input of CAD information (step 201 in FIG. 23), the work image RW as a development is obtained as shown in FIG. 18, and is displayed on the screen.

[0176] Then, a human worker sets the positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16, and also sets the predetermined positions A_(R1) and A_(R2) on the end surface T_(R) of the work image RW, by looking at this screen (step 202 in FIG. 23). In this case, as described above, the position of the longitudinal direction (X axis direction) of the work W is determined such that the left end of the work W is arranged at a position apart from a machine center MC by X₁. For example, in a state where the work W (FIG. 24 (A)) is supported by the gripper 14 of the robot 13, the left end of the work W is butted on the side gauge 18. If the position of the side gauge 18 at this time is assumed to be apart from the machine center MC by X_(s), the left end of the work W can be arranged at the position apart from the machine center MC by X₁, by moving the robot 13 (FIG. 24(B)) by a predetermined distance X₀=X_(s)−X₁ to make a work origin O coincide with the machine center MC. Due to this, as will be described later, the positions of the forward/backward direction (Y axis direction) and leftward/rightward direction (X axis direction) of the work W are determined, thereby the position of the work W with respect to the bending machine 11 is determined uniquely.

[0177] In this case, the number of positions to be set may be at least one, or may be two with respect to, for example, the work origin 0, as illustrated.

[0178] When the detection points are set in this manner, the reference distances K_(R1) and K_(R2) between the positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16 and predetermined positions A_(R1) and A_(R2) which are set as described above are automatically calculated by later-described reference distance calculating means 30E constituting the subordinate NC device 30 (FIG. 15) (step 203 in FIG. 23). As described above, the reference distances K_(R1) and K_(R2) are used by the distance difference calculating means 30F (FIG. 15) as the targets for calculating the distance differences Δy₁ and Δy₂ with respect to the detected distances K_(D1) and K_(D2) (FIG. 15).

[0179] In this case, the reference distances K_(R1) and K_(R2) may be input by a human worker manually. The positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16 (FIG. 18) and predetermined positions A_(R2) and A_(R2) on the work end surface T_(R) which are set as described above are the detection points for detecting distances with respect to the butting faces 15 and 16 in positioning the work W, and also the detection points for detecting a distance with respect to the butting face 15 in measuring the, bending angle 0, as will be described later.

[0180] The operation of the second embodiment will be as illustrated in FIG. 22, by carrying out the positioning of the work W and the measuring of the bending angle Θ by using one device as described above.

[0181] In FIGS. 22(A), (B), and (C), the drawings on the left side show the positional relationship between the work W and the CCD camera 12A, and the drawings on the right side show the distance between the work image DW or dw which are image-processed via the CCD camera 12A and the butting face 15.

[0182] Among these drawings, the drawing on the right side of FIG. 22(A) shows a state where the distance K_(D1) between the predetermined position AD, on the end surface TD Of the work image DW and the position B_(R1) of the edge of the butting face 15 becomes equal to the reference distance K_(R1) and thereby the work positioning is completed. This drawing corresponds to FIG. 18.

[0183] The drawings on the right side of FIGS. 22 (B) and (C) show a state where a distance k_(d1) between a predetermined position ad, on an end surface td of the work image dw and the position B_(R1) of the edge of the butting face 15 changes after the punch P (the drawing on the left side of FIG. 22(B)) contacts the work W (after pinching point). These drawings correspond to FIG. 20.

[0184] In FIG. 22, after the positioning of the work W is completed (FIG. 22(A)), and then the punch P contacts the work W (FIG. 22(B)), the distance k_(d1) with respect to the butting face 15 becomes larger as the bending operation progresses (the drawing on the right side of FIG. 22(B)).

[0185] At this time, the edges of the work W rise upward (the drawing on the left side of FIG. 22(B)). Therefore, the image dw of the work W is detected by raising the butting face 15 upward in response to the rising of the work W thereby to raise the CCD camera 12A.

[0186] When the punch P further drops downward (the drawing on the left side of FIG. 22 (C)) and the distance k_(d1) (the drawing on the right side of FIG. 22(C)) with respect to the butting face 15 becomes equal to a predetermined distance k_(r1), it is determined that the work W is bent to the predetermined bending angle (D (the drawing on the left side of FIG. 22(C)), and the ram is stopped. Thus, the bending operation is completed.

[0187] The subordinate NC device 30 (FIG. 15), which is a control device for the press brake having the above-described structure, comprises a CPU 30A, information calculating means 30B, photographing control means 30C, distance detecting means 30D, reference distance calculating means 30E, distance difference calculating means 30F, robot control means 30G, bending control means 30H, and input/output means 303.

[0188] The CPU 30A controls the information calculating means 30B, the distance detecting means 30D, etc. in accordance with an image processing program (corresponding to FIG. 23) of the present invention.

[0189] The information calculating means 30B calculates information necessary for the positioning of the work W and measuring of the bending angle Θ such as an order of bending and the shape of a product, etc. based on CAD information input from the superordinate NC device 29 via the input/output means 30J.

[0190] The photographing control means 30C moves the work photographing means 12 constituted by the CCD camera 12A and the light source 12B via the aforementioned moving mechanism for the butting faces 15 and 16 based on the information calculated by the information calculating means 30B, and controls the photographing operation such as the control of the view range (FIG. 16, FIG. 17) of the CCD camera 12A.

[0191] The distance detecting means 30D detects distances K_(D1) and K_(D2) between the positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16 and predetermined positions A_(D1) and A_(D2) on the work end surface T_(D).

[0192] That is, as described above (FIG. 18), the positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16 which are set in advance on the screen are to be represented as below in two-dimensional coordinates.

Positions of edges B_(R1)(x₁, y₁′), B_(R2)(x₂, y₂′)  [1]

[0193] The predetermined positions A_(D1) and A_(D2) on the end surface TD of the work image DW which are detected by the distance detecting means 30D (and existing on the extensions of the Y axis direction of the predetermined positions A_(R1) and A_(R2) which are set on the screen before by the human worker) are to be represented as below in two-dimensional coordinates.

Predetermined positions A_(D1)(X₁, y₁″), A_(D2)(x₂, y₂″)  [2]

[0194] Accordingly, the distances K_(D1) and K_(D2) with respect to the butting faces 15 and 16 can be represented as below based on the above [1] and [2].

K_(D1)=|B_(R1)−A_(D1)|=y₁′−y₁″  [3]

K_(D2)=|B_(R2)−A_(D2)|=y₂′−y₂″  [4]

[0195] These [3] and [4] are used by the distance difference calculating means 30F for calculating distance differences Δy₁ and Δy₂, as described above.

[0196] The reference distance calculating means 30E calculates reference distances K_(R1) and K_(R2) between the positions B_(R1) and B_(R2) of the edges of the butting faces and predetermined positions A_(R1) and A_(R2) on the work end surface T_(R) which are set in advance, by image processing.

[0197] In this case, as described above (FIG. 18), the predetermined positions A_(R1) and A_(R2) on the end surface T_(R) of the work image RW which are set in advance on the screen are to be represented as below in two-dimensional coordinates.

Predetermined positions A_(R1)(x₁,y₁), A_(R2)(x₂,y₂)  [5]

[0198] Accordingly, reference distances K_(R1) and K_(R2) can be represented as below based on [5] and the aforementioned [1] (based on the positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16).

K_(R1)=|B_(R1)−A_(R1)|=y₁′−y₁  [6]

K_(R2)=|B_(R2)−A_(R2)|=y₂′−y₂  [7]

[0199] These [6] and [7] are used by the distance difference calculating means 30F for calculating distance differences Δy₁ and Δy₂.

[0200] The distance difference calculating means 30F compares the detected distances K_(D1) and K_(D2) represented by the above [3] and [4] with the reference distances K_(R1) and K_(R2) represented by [6] and [7], and calculates the distance differences Δy_(1 and Δy) ₂ between them.

[0201] That is, the distance difference Δy₁ is as follows.

Δy₁=K_(D1)−K_(R1)=(y₁′−y₁″)−(y₁′−y₁)=y₁−y₁″  [8]

[0202] The distance difference Δy₂ is as follows.

Δy₂=K_(D2)−K_(R2)=(y₂′−y₂″)−(y₂′−y₂)=y₂−y₂″  [9]

[0203] The robot control means 30G (FIG. 15) controls the robot 13 such that the detected distances K_(D1) and K_(D2) and the reference distances K_(R1) and K_(R2) become equal based on the distance differences Δy₁ and Δy₂ represented by the above [8] and [9], thereby positioning the work W at a predetermined position.

[0204] That is, when the robot control means 30G receives the distance differences Δy₁ and Δy₂ from the distance difference calculating means 30F, the robot control means 30G converts these into correction drive signals S_(a), S_(b), S_(c), S_(d), and S_(e) and sends each signal to the robot 13.

[0205] The robot 13 actuates drive units a, b, c, d, and e constituting the robot 13 in accordance with the signals, thereby moving the work W supported by the gripper 14 in the Y axis direction by the distance differences Δy₁ and Δy₂ (FIG. 18).

[0206] Therefore, a control for making the detected distances K_(D1) and K_(D2) and the reference distances K_(R1) and K_(R2) become equal is performed, and the work W can be positioned at a predetermined position.

[0207] The bending control means 301 (FIG. 15) controls the press brake based on the order of bending, etc. determined by the information calculating means 10B and carries out the bending operation by the punch P and die D on the work W as positioned.

[0208] The input/output means 10J comprises a keyboard and a screen constituted by liquid crystal or the like. For example, as described above, a human worker sets the positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16 (FIG. 18), and also sets the predetermined positions A_(R1) and A_(R2) on the end surface T_(R) of the work image RW which is obtained based on CAD information (step 202 in FIG. 23) by seeing the screen.

[0209] Further, the distance detecting means 30D, the reference distance calculating means 30E, and the distance difference calculating means 30F perform the following operation in case of measuring the bending angle e (FIG. 19, FIG. 20).

[0210] That is, let it be assumed that the distance between one butting face 15 and the work W at the time the positioning of the work W (FIG. 19(A)) is completed is K₁, and the distance at this time between the edge of the work W and the center E of a mold is L.

[0211] Further, let it be assumed that the distance between the butting face 15 and the work W when the work W is bent to a predetermined bending angle Θ after the bending operation is started (FIG. 19(B)) and the punch P contacts the work W (after pinching point) is k₁, and a flange dimension L′ at this time is represented by L′=L+α in consideration of unilateral elongation a which is calculated in advance by the information calculating means 30B. In this case, the following equation is established.

k₁=L−L′×cosΘ+K₁  [10]

[0212] The bending angle Θ can be represented by the following equation based on [10]

Θ=cos⁻¹{(L+K₁−k₁)/L′}  [11]

[0213] Accordingly, as apparent from [11] the distance k₁ between the butting face 15 and the work W after the punch P contacts the work W and the bending angle Θare related with each other in one-to-one correspondence because L, K₁ and L′ are constants. Therefore, the bending angle Θ is indirectly measured by detecting k₁.

[0214] From this aspect, the reference distance calculating means 30E (FIG. 15) receives the bending angle Θ calculated by the information calculating means 30B based on the CAD information, and calculates the following bending reference distance k_(r1) (FIG. 20 (A)).

k_(r1)=L−L′×cosΘ+K_(R1)  [12]

[0215] This bending reference distance k_(r1) is a distance between a predetermuned position a predetermined position a_(r1) on an end surface t_(r) of a work image rw (FIG. 20(A)) based on CAD information and the previously set position B_(R1) of the edge of the butting face 15 in case of the work W being bent to the predetermined angle Θ.

[0216] Accordingly, after pinching point (step 210 in FIG. 23), in a case where a bending detected distance k_(dl) (FIG. 20(A)) which is a distance between the butting face 15 and the work W detected by image processing (step 211 in FIG. 23) coincides with the bending reference distance k_(r1) (step 212 in FIG. 23: YES), the distance detecting means 30D (FIG. 15) determines that the work W has been bent to the predetermined angle e), and stops the ram via the bending control means 30H (FIG. 15) (step 213 in FIG. 23), thereby completing the bending operation.

[0217] The bending detected distance k_(d1) is a distance between a predetermined position a_(d1) on an end surface td of a work image dw (FIG. 20(B)) which is input from the CCD camera 12A after pinching point (step 210 in FIG. 23: YES) and the previously set position B_(R1) of the edge of the butting face 15.

[0218] While the work W is being bent, the distance difference calculating means 30F (FIG. 15) constantly monitors the bending detected distance k_(d1) detected by the distance detecting means 30D to compare it with the bending reference distance k_(r1) calculated by the reference distance calculating means 30E and calculate a distance difference Δy (FIG. 20(A)). In a case where it is determined that Δy=0 is satisfied and the both coincide with each other (step 212 in FIG. 23: YES), the ram is stopped via the bending control means 30H (FIG. 15) (step 213 in FIG. 23), as described above.

[0219] However, in a case where Δy≠0(step 212 in FIG. 23: NO) and the work W can not be bent to the bending angle Θ, for example, in case of a bending angle Θ′ (FIG. 20(B)), i.e. in case of a bending angle being smaller than required, the ram is lowered further via the bending control means 30H (FIG. 15), thereby adjusting the position of the ram (step 214 in FIG. 23).

[0220] The operation according to the second embodiment of the present invention having the above-described structure will now be explained based on FIG. 23.

[0221] (1) Controlling Operation for Positioning of the Work W

[0222] CAD information is input in step 201 of FIG. 23, detection points are set in step 202, reference distances are calculated in step 203, and the butting faces are moved to the set positions in step 204.

[0223] That is, when CAD information is input from the superordinate NC device 29 (FIG. 15) to the subordinate NC device 30, a work image RW (FIG. 18) as a development is displayed on the screen of the input/output means 30J (FIG. 15). By seeing this screen, a human worker sets the positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16 as the detection points, and also sets the predetermined positions A_(R1) and A_(R2) on the end surface T_(R) of the work image RW which is based on the CAD information. At this time, as described above, by butting the left end (FIG. 24(A)) of the work W on the side gauge 18, the work W is positioned in the X axis direction such that the left end (FIG. 24(B)) is arranged to be apart from the machine center MC by X₁.

[0224] When the detection points are set, each detection point is sent to the reference distance calculating means 30E via the information calculating means 30B (FIG. 15).

[0225] Then, reference distances K_(R1) and K_(R2) between the positions B_(R1) and B_(R2), of the edges of the butting faces 15 and 16 and predetermined positions A_(R1) and A_(R2) on the work end surface T_(R) which are set earlier are calculated by the reference distance calculating means 30E (FIG. 15) in accordance with [6] and [7] described above.

[0226] Further, in this case, the reference distance calculating means 30E calculates not only the reference distances K_(R1) and K_(R2) for positioning, but also the bending reference distance k_(r1) for the bending operation in accordance with [12] described above,

[0227] When the reference distances K_(R1), K_(R2), and k_(d1) are calculated in this manner, the CPU 30A (FIG. 15) instructs the bending control means 30H to move the butting faces 15 and 16 to the positions B_(R1) and B_(R2) (FIG. 18) of the edges of the butting faces 15 and 16 which are set earlier.

[0228] In this state, positioning of the work W by the robot 13 is carried out in step 205 of FIG. 23, distances from the butting faces are detected in step 206, and whether they are predetermined distances or not is determined in step 207. In a case where they are not the predetermined distances (NO), the flow returns to step 205 to repeat the same operation, In a case where they are the predetermined distances (YES), positioning of the work W is completed in step 208.

[0229] That is, when the CPU 30A (FIG. 15) detects that the butting faces 15 and 16 are moved to the set edge positions B_(R1) and B_(R2) (FIG. 18), the CPU 30A drives the robot 13, this time via the robot control means 30G (FIG. 15). At the same time, the CPU 30A moves the butting faces 15 and 16 via the bending control means 30H, so that the CCD camera 12A and its light source 12B which are attached to the butting face are moved to photograph the work W supported by the gripper 14 of the robot 13.

[0230] The photographed image of the work W is sent to the distance detecting means 30D. Based on the sent work image DW (FIG. 18), the distance detecting means 30D detects distances K_(D1) and K_(D2) between the positions B_(R1) and B_(R2) of the edges of the butting faces 15 and 16 and predetermined positions A_(D1) and A_(D2) on a work end surface T_(D) in accordance with [3] ad [4] described above.

[0231] The detected distances K_(D1) and K_(D2) and the reference distances K_(R1) and Ku calculated by the reference distance calculating means 30E are sent to the distance difference calculating means 30F for the next step, and distance differences Δy₁ and Δy₂ between them are calculated in accordance with [8] and [9] described above.

[0232] Due to this, the robot control means 30G converts the distance differences Δy₁ and Δy₂ into correction drive signals S_(a), S_(b), S_(c), S_(d), and S_(e), and sends these signals to the robot 13 to control the drive units a, b, c, d, and e of the robot 13 such that the detected distances K_(D1) and K_(D2) (FIG. 18) and the reference distances KR, and K_(R2) coincide with each other, thereby positioning the work W at a predetermined position.

[0233] If positioning of the work W by the robot 13 is carried out in this manner and the detected distances K_(D1) and K_(D2) and the reference distances K_(R1) and K_(R2) coincide, positioning of the work W is completed.

[0234] (2) Controlling Operation for Bending Operation

[0235] When the positioning of the work W is completed, the ram is lowered in step 209 of FIG. 23, and whether the punch P contacts the work W or not is determined in step 210. In a case where the punch P does not contact (NO), the flow returns to step 209 to repeat the same operation. In a case where the punch P contacts (YES), distances from the butting faces are detected in step 211. Then, whether they are predetermined distances or not is determined in step 212. In a case where they are not the predetermined distances (NO), the position of the ram is adjusted in step 214. In a case where they are the predetermined distances (YES), the ram is stopped and the bending operation is completed in step 213.

[0236] That is, when the CPU 30A (FIG. 15) detects via the robot control means 30G that the positioning of the work W is completed, the CPU 30A lowers the ram, or the upper table 20 in case of, for example, a lowering type press brake, via the bending control means 30H this time.

[0237] Then, the CPU 30A detects the position of the ram 20 via ram position detecting means or the like. In a case where it is determined that the punch P contacts the work W, the CPU 30A then moves the butting face 15 via the bending control means 30H so that the CCD camera 12A and its light source 12B are moved to photograph the work W, and controls the distance detecting means 30D to detect a bending distance 41 with respect to the butting face 15 based on the photographed image dw (FIG. 20(A)) of the work W.

[0238] This bending detected distance k_(d1) is sent to the distance difference calculating means 30F. The distance difference calculating means 30F calculates a distance difference Δy with respect to the bending reference distance k_(r1) calculated by the reference distance calculating means 30E. In a case where Δy=0 is satisfied and the bending detected distance k_(d1) and the bending reference distance k_(r1) coincide with each other, it is determined that the work W has been bent to the predetermined bending angle Θ(FIG. 20(B)). Therefore, lowering of the ram 20 is stopped via the bending control means 30H, and the bending operation is completed.

INDUSTRIAL APPLICABILITY

[0239] As described above, the bending machine according to the present invention can position a work accurately by carrying out electronic positioning by using image processing, even in a case where mechanical positioning by using butting faces is impossible.

[0240] Further, if a corner of a work is used as a target of comparison in a case where a detected image and a reference image are compared by image processing, the amount of difference between both of the images can be corrected at one time by photographing either one of the corners by using one CCD camera Therefore, it is possible to improve the efficiency of operation including positioning of the work. By carrying out the work positioning control operation and the bending control operation by one device, the system can be simplified. Attaching of the work photographing means to the butting face eliminates the need of providing a special moving mechanism, thereby enabling cost cut. 

1. A work positioning device comprising image processing means for obtaining by image processing, a measured value and a reference value regarding a predetermined positioning criterion, in order to position a work at a predetermined position by moving the work such that the measured value and the reference value coincide with each other.
 2. The work positioning device according to claim 1, wherein said predetermined positioning criterion is a hole formed in the work, an outline of the work, a corner of the work, or a distance between a position of a butting face and a predetermined position on the work.
 3. The work positioning device according to claim 1, comprising: work image detecting means for detecting an image of the work which is input from work photographing means which is attached to a bending machine; work reference image calculating means for calculating a reference image of the work based on pre-input information; difference amount calculating means for comparing the detected image and the reference image and calculating an amount of difference between them; and robot control means for controlling, based on the amount of difference, a robot such that the detected image and the reference image coincide with each other, in order to position the work at the predetermined position.
 4. The work positioning device according to claim 3, wherein said work photographing means is constituted by a CCD camera, and the CCD camera is attached so as to be able to move in a leftward/rightward direction and in a forward/backward direction.
 5. The work positioning device according to claim 3, wherein a positioning mark is provided on the work, and said difference amount calculating means compares a detected positioning mark in the detected image and a reference positioning mark in the reference image and calculates an amount of difference between them.
 6. The work positioning device according to claim 5, wherein the positioning mark is constituted by a hole, and the hole is provided at a predetermined position with respect to a bending line on the work.
 7. The work positioning device according to claim 3, wherein regarding an outline of the work, said difference amount calculating means compares a detected work outline in the detected image and a reference work outline in the reference image and calculates an amount of difference between them.
 8. The work positioning device according to claim 7, wherein a side stopper on which the outline of the work is made to abut is provided, and a checker which constitutes an area for detecting image data of the outline of the work is provided to said side stopper.
 9. The work positioning device according to claim 3, wherein regarding a corner of the work, said difference amount calculating means compares an entire detected corner in the detected image and an entire reference corner in the reference image and calculates an amount of difference between them.
 10. The work positioning device according to claim 1, comprising: distance detecting means for detecting a distance between a position of an edge of a butting face and a predetermined position on an end surface of the work based on an image of the work which is input from work photographing means attached to a bending machine; reference distance calculating means for calculating, based on a preset position of the edge of the butting face and a predetermined position on the end surface of the work, a reference distance between them by image processing; distance difference calculating means for comparing the detected distance and the reference distance and calculating a distance difference between them; and robot control means for controlling, based on the distance difference, a robot such that the detected distance and the reference distance coincide with each other, in order to position the work at the predetermined position.
 11. The work positioning device according to claim 10, wherein said work photographing means is constituted by a CCD camera, and the CCD camera is attached to the butting face.
 12. The work positioning device according to claim 10, wherein: said distance detecting means detects a bending distance between the position of the edge of the butting face and the predetermined position on the end surface of the work based on an image of the work which is input from said work photographing means during a bending operation after the work is positioned at the predetermined position; said reference distance calculating means calculates a bending reference distance between the position of the edge of the butting face and the predetermined position on the end surface of the work in a case where the work is bent to a predetermined bending angle; and said distance difference calculating means compares the detected bending distance and the bending reference distance, and calculates a distance difference between them.
 13. The work positioning device according to claim 12, wherein in a case where it is determined based on the distance difference calculated by said distance difference calculating means that the detected bending distance and the bending reference distance coincide with each other, a ram is stopped via bending control means. 